package com.hzt.agprosaleplatform.service;

import com.hzt.agprosaleplatform.common.CustomResponse;
import com.hzt.agprosaleplatform.dto.MemoryChatMessageDTO;
import com.hzt.agprosaleplatform.dto.MemoryChatSessionDTO;
import com.hzt.agprosaleplatform.dto.MemorySendMessageDTO;

import java.util.List;

/**
 * 内存存储的聊天服务接口
 */
public interface MemoryChatService {
    
    /**
     * 买家联系客服（创建会话）
     */
    CustomResponse contactCustomerService(String buyerId, String shopId);
    
    /**
     * 获取买家的会话列表
     */
    CustomResponse getBuyerSessions(String buyerId);
    
    /**
     * 获取店铺的会话列表
     */
    CustomResponse getShopSessions(String shopId);
    
    /**
     * 发送消息
     */
    CustomResponse sendMessage(MemorySendMessageDTO sendMessageDTO);
    
    /**
     * 获取会话消息列表
     */
    CustomResponse getSessionMessages(String sessionId);
    
    /**
     * 标记消息为已读
     */
    CustomResponse markMessageAsRead(String messageId, String readerId);
    
    /**
     * 获取买家未读消息数量
     */
    CustomResponse getBuyerUnreadCount(String buyerId);
    
    /**
     * 获取店铺未读消息数量
     */
    CustomResponse getShopUnreadCount(String shopId);
    
    /**
     * 关闭会话（清理内存数据）
     */
    CustomResponse closeSession(String sessionId);
}